home *** CD-ROM | disk | FTP | other *** search
- %!PS-Adobe-1.0
- %%Title: Crossword Creator output, generated using POSTSCPT.BAT
- %%Creator: Crossword Creator
- %%Pages: (atend)
- %%BoundingBox: 0 0 340 420
- %%EndComments
- % Copyright (c) 1990, Richard L. Siddall. All rights reserved.
-
- % IMPORTANT NOTE: You must replace the last two numbers in the Bounding Box
- % line above with:
- % cellwidth * width + 4 ; this is the width in points
- % cellheight * height + 4 ; this is the height in points
- % Create a frame the same size in Ventura to hold the matrix.
- %
-
- % Crossword procedures
- /cellheight 16 def
- /cellwidth 16 def
-
- % xboundary - construct the path for the edge of the matrix
- /xboundary {
- 0 0 moveto
- cellwidth width mul 0 rlineto
- 0 cellheight height mul rlineto
- cellwidth width mul neg 0 rlineto
- closepath } def
-
- % cell - Construct path for cell outline
- /cell {
- 0 cellheight rlineto
- cellwidth 0 rlineto
- 0 cellheight neg rlineto
- cellwidth neg 0 rlineto
- closepath
- } def
-
- % xcell - takes two strings, the number and the letter
- /xcell {
- gsave % Fill cell with white
- 1 setgray
- cell fill
- grestore
- gsave % Stroke line around cell
- cell stroke
- grestore
- gsave % Place solution letter in center of cell
- /Helvetica findfont 12 scalefont setfont
- dup stringwidth pop cellwidth exch sub 2 div cellheight .1 mul rmoveto
- show
- grestore
- gsave % Place solution number in top left of cell
- /Helvetica findfont 6 scalefont setfont
- cellwidth .1 mul cellheight .7 mul rmoveto
- show
- grestore
- cellwidth 0 rmoveto % Move to next cell origin
- } def
-
- % bxcell - a blank cell
- /bxcell {
- % gsave
- % cell
- % gsave
- % stroke
- % grestore
- % currentpoint add 1500 div setgray fill
- % grestore
- cellwidth 0 rmoveto % Move to next cell origin
- } def
-
- % newrow - go to the start of the next row down
- /newrow {
- cellwidth width mul neg cellheight neg rmoveto
- } def
-
- % Code from PostScript Cookbook Program 15: Filling an area with a pattern.
- /setuserscreendict 22 dict def
- setuserscreendict begin
- /tempctm matrix def
- /temprot matrix def
- /tempscale matrix def
-
- /concatprocs {
- /proc2 exch cvlit def
- /proc1 exch cvlit def
- /newproc proc1 length proc2 length add array def
- newproc 0 proc1 putinterval
- newproc proc1 length proc2 putinterval
- newproc cvx
- } def
-
- /resmatrix matrix def
- /findresolution {
- 72 0 resmatrix defaultmatrix dtransform
- /yres exch def /xres exch def
- xres dup mul yres dup mul add sqrt
- } def
- end
-
- /setuserscreen {
- setuserscreendict begin
- /spotfunction exch def
- /screenangle exch def
- /cellsize exch def
- /m tempctm currentmatrix def
- /rm screenangle temprot rotate def
- /sm cellsize dup tempscale scale def
-
- sm rm m m concatmatrix m concatmatrix pop
- 1 0 m dtransform /y1 exch def /x1 exch def
- /veclength x1 dup mul y1 dup mul add sqrt def
- /frequency findresolution veclength div def
- /newscreenangle y1 x1 atan def
- m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt
- { {neg} /spotfunction load concatprocs
- /spotfunction exch def } if
- frequency newscreenangle /spotfunction load setscreen
- end
- } def
-
- /setpatterndict 18 dict def
- setpatterndict begin
- /bitison {
- /ybit exch def /xbit exch def
- /bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
- /mask 1 7 xbit 8 mod sub bitshift def
- bytevalue mask and 0 ne
- } def
- end
-
- /bitpatternspotfunction {
- setpatterndict begin
- /y exch def /x exch def
- /xindex x 1 add 2 div bpside mul cvi def
- /yindex y 1 add 2 div bpside mul cvi def
- xindex yindex bitison
- { /onbits onbits 1 add def 1 }
- { /offbits offbits 1 add def 0 }
- ifelse
- end
- } def
-
- /setpattern {
- setpatterndict begin
- /cellsz exch def
- /angle exch def
- /bwidth exch def
- /bpside exch def
- /bstring exch def
- /onbits 0 def /offbits 0 def
- cellsz angle /bitpatternspotfunction load setuserscreen
- {} settransfer
- offbits offbits onbits add div setgray
- end
- } def
-
- %%EndProlog
- %Begin page
-
- /inch {72 mul} def
-
- % This version of Adobe's "showpattern" uses "xboundary" for the clip path
- /showpattern {
- /ang exch def
- /pat exch def
- pat 8 1 ang 72 300 32 div div setpattern
- newpath
- xboundary
- closepath fill
- } def
-
- /pat1 <d1e3c5885c3e1d88> def
- /pat2 <3e418080e3140808> def
-
-